home *** CD-ROM | disk | FTP | other *** search
- { clicker.pas -- Demonstrate "subclassing" with objects }
-
- program Clicker;
-
- uses WinTypes, WinProcs, WObjects;
-
- const
-
- id_Button = 100;
-
- type
-
- PClickButton = ^TClickButton;
- TClickButton = object(TButton)
- procedure DefNotificationProc(var Msg: TMessage); virtual;
- end;
-
- ClickerApplication = object(TApplication)
- procedure InitMainWindow; virtual;
- end;
-
- PClickerWindow = ^ClickerWindow;
- ClickerWindow = object(TWindow)
- constructor Init(AParent: PWindowsObject; ATitle: PChar);
- end;
-
-
- { TClickButton }
-
- procedure TClickButton.DefNotificationProc(var Msg: TMessage);
- begin
- MessageBeep(0);
- TButton.DefNotificationProc(Msg)
- end;
-
- { ClickerApplication }
-
- {- Initialize ClickerApplication object's window }
- procedure ClickerApplication.InitMainWindow;
- begin
- MainWindow := New(PClickerWindow, Init(nil, 'DefNotification Demo'))
- end;
-
-
- { ClickerWindow }
-
- {- Construct ClickerWindow object }
- constructor ClickerWindow.Init(AParent: PWindowsObject; ATitle: PChar);
- var
- AControl: PControl;
- begin
- TWindow.Init(AParent, ATitle);
- with Attr do
- begin
- X := 10; Y := 10; W := 300; H := 200
- end;
- AControl := New(PClickButton, Init(@Self, id_Button, 'Click Me',
- 100, 100, 100, 40, true))
- end;
-
- var
-
- ClickerApp: ClickerApplication;
-
- begin
- ClickerApp.Init('ClickerApp');
- ClickerApp.Run;
- ClickerApp.Done
- end.
-
-
- {--------------------------------------------------------------
- Copyright (c) 1991 by Tom Swan. All rights reserved.
- Revision 1.00 Date: 5/11/1991
- ---------------------------------------------------------------}
-